package com.ynu.controller;

import com.ynu.constant.WeGo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 *  模块名称：
 *  模块类型：
 *  编码人：迟宽席
 *  创建时间：2023/2/28
 *  联系电话：18388068273
 */
@RestController  // @RestController == @Controller + @ResponseBody
public class UpLoadController {

    @PostMapping("/fileUpload")
    public String fileUpload(MultipartFile file, String path) {
        if (path == null) {
            //如果没有指定路径，则使用默认路径
            path = WeGo.BASE_PATH;
        }

        //路径
        File p = new File(path);
        if (!p.exists()) {
            //如果路径不存在创建路径
            p.mkdirs();
        }

        String originalFilename = file.getOriginalFilename();
        int lastIndexOf = originalFilename.lastIndexOf(".");
        //文件的后缀
        String suffix = originalFilename.substring(lastIndexOf);
        //产生随机带后缀文件名
        String fileName = UUID.randomUUID() + suffix;

        //具体文件上传
        try {
            file.transferTo(new File(p, fileName)); //alt+enter
        } catch (IOException e) {
            e.printStackTrace();
            return "failed";
        }
        return "success";
    }
}
